<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div id="box">5</div>

  <p id="p1">今天天气很好</p>
  <p id="p2">是吗</p>
  <button id="b1">get News</button><button id="b2">get olds</button>
  <!-- <script src="./utils.js"></script> -->
  <script src="./jquery-1.11.3.js"></script>
  <script>
    // console.log($('div').get());
    // console.log($.each()); 
    // var ss = $.noConflict();
    // window.$ = 'xxx';

    // console.log($());
    // console.log($('<div></div>'));
    // console.log($(box));


    // $(function(){}); ==>// $(document).ready(function(){})

    // rootjQuery.ready( selector )
    // window.onload = function(){}
    // 等到页面的dom，内容，富媒体全部加载完成之后才会执行
    // ready等到页面的dom加载完就执行
    // console.log( $(function(){}));

    //-----------------------------------------------------------------
    // 如果一个页面引用的两个类库，但是都给window赋值一个$属性，人家jq为了避免这样的情况出生，在jq的身上有一个noConflict方法，是专门用来改变$和jQuery的使用权的
    // console.log($); // 这是JQuery函数

    // let res = $.noConflict(true);
    // // 如果函数执行时不穿参，那仅仅是把$ 的使用权给别人，但是如果传递一个true，那就是把jQuery的使用权也给别人,
    // // 如果把使用权都给别人的话，那咱们只能使用当前函数的返回值了

    // console.log($); // jq把$的使用权给别人了 


    // console.log(res); // res代表的是当前jQuery类
    // console.log(jQuery);




    // var  _jQuery = window.jQuery, // ss
    //   _$ = window.$; // ss  //  (在jquery给$赋值之前就把人家此时的$所代表的值存储下来了)

    // jQuery.noConflict = function (deep) {
    //   if (window.$ === jQuery) {
    //     window.$ = _$;
    //   }

    //   if (deep && window.jQuery === jQuery) {
    //     window.jQuery = _jQuery;
    //   }

    //   return jQuery;
    // };

    //-----------------------------------------------------------------
    // extend:他存在于jq自己身上
    //  $.extend() // 就是把方法拓展到jq自己身上
    // $.fn.extend() // 把方法拓展到jq的原型上

    // $.extend({
    //   // 大家注意如果你传的属性名和jq的重名了，一般情况你是可以覆盖人家jq的，但是你不想把人家jq的方法进行覆盖，那就在extend执行的时候收个参数穿一个false
    //   queryUrlParams:function(){

    //   },
    //   ajax:function(){
    //     console.log(23);
    //   }

    // });
    // console.dir($)

    //------------------------------------------------------------
    // each
    // $('div').each(function(index,item){
    //     console.log(index,item);
    // })

    // let ary = [100,200,300,400];
    // let obj = {name:1,age:2}
    // $.each(ary,function(index,item){
    //   console.log(index,item,this);
    //   if(item === 1){
    //     return false
    //   }
    // })

    // let list = document.getElementsByTagName('div')

    //------------------------------------------------------------
    // get
    // console.log($('div').get()); // 把jq实例转化成一个数组，数组里放的是每一个元素对象


    // console.log($('div').get(0));// 获取第一个div
    // console.log($('div')[0]); // 获取第一个div

    // console.log($('div').get(-1)); // 获取倒数第一个div


    //-------------------------------------------------------------

    // console.log($('div').eq(0));

    // var a = $('#p1');
    // b1.onclick = function () {
    //   b = a.pushStack([p2], 'Test', 'arg');
    //   console.log(a);
    // }
    // b2.onclick = function () {
    //   a = a.prevObject;
    //   console.log(a)
    // }
    // console.log(a);


  </script>
</body>

</html>